/*     */ package com.zimbra.cs.index;
/*     */ 
/*     */ import com.google.common.base.Objects;
/*     */ import com.google.common.base.Objects.ToStringHelper;
/*     */ import com.zimbra.common.service.ServiceException;
/*     */ import com.zimbra.cs.mailbox.MailItem;
/*     */ import com.zimbra.cs.mailbox.Mailbox;
/*     */ import com.zimbra.cs.mailbox.Message;
/*     */ import org.apache.lucene.document.Document;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public final class MessagePartHit
/*     */   extends ZimbraHit
/*     */ {
/*     */   private final Document document;
/*     */   private MessageHit hit;
/*     */   private final int itemId;
/*     */   
/*     */   protected MessagePartHit(ZimbraQueryResultsImpl res, Mailbox mbx, int id, Message msg, Document doc, Object sortValue)
/*     */   {
/*  48 */     super(res, mbx, sortValue);
/*  49 */     this.itemId = id;
/*  50 */     this.document = doc;
/*  51 */     if (msg != null) {
/*  52 */       getMessageResult(msg);
/*     */     }
/*     */   }
/*     */   
/*     */   public int getConversationId() throws ServiceException
/*     */   {
/*  58 */     return getMessageResult().getConversationId();
/*     */   }
/*     */   
/*     */   public String getName() throws ServiceException
/*     */   {
/*  63 */     if (this.cachedName == null) {
/*  64 */       this.cachedName = getMessageResult().getSender();
/*     */     }
/*  66 */     return this.cachedName;
/*     */   }
/*     */   
/*     */   public int getItemId()
/*     */   {
/*  71 */     return this.itemId;
/*     */   }
/*     */   
/*     */   void setItem(MailItem item) throws ServiceException
/*     */   {
/*  76 */     getMessageResult().setItem(item);
/*     */   }
/*     */   
/*     */   boolean itemIsLoaded() throws ServiceException
/*     */   {
/*  81 */     return getMessageResult().itemIsLoaded();
/*     */   }
/*     */   
/*     */   public String toString()
/*     */   {
/*     */     try {
/*  87 */       return Objects.toStringHelper(this).add("id", getItemId() + "-" + getPartName()).add("conv", getConversationId()).addValue(super.toString()).toString();
/*     */ 
/*     */     }
/*     */     catch (ServiceException e)
/*     */     {
/*     */ 
/*  93 */       return e.toString();
/*     */     }
/*     */   }
/*     */   
/*     */   public String getFilename() {
/*  98 */     return this.document != null ? this.document.get("filename") : null;
/*     */   }
/*     */   
/*     */   public String getType() {
/* 102 */     return this.document != null ? this.document.get("type") : null;
/*     */   }
/*     */   
/*     */   public String getPartName() {
/* 106 */     if (this.document != null) {
/* 107 */       String part = this.document.get("l.partname");
/* 108 */       if ((part != null) && (!part.equals("top"))) {
/* 109 */         return part;
/*     */       }
/*     */     }
/* 112 */     return "";
/*     */   }
/*     */   
/*     */   public MessageHit getMessageResult() {
/* 116 */     return getMessageResult(null);
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */   public MessageHit getMessageResult(Message msg)
/*     */   {
/* 123 */     if (this.hit == null) {
/* 124 */       this.hit = getResults().getMessageHit(getMailbox(), getItemId(), msg, this.document, this.sortValue);
/* 125 */       this.hit.addPart(this);
/* 126 */       this.hit.cacheImapMessage(this.cachedImapMessage);
/* 127 */       this.hit.cacheModifiedSequence(this.cachedModseq);
/* 128 */       this.hit.cacheParentId(this.cachedParentId);
/*     */     }
/* 130 */     return this.hit;
/*     */   }
/*     */   
/*     */   public MailItem getMailItem() throws ServiceException
/*     */   {
/* 135 */     return getMessageResult().getMailItem();
/*     */   }
/*     */ }


/* Location:              /home/mint/zimbrastore.jar!/com/zimbra/cs/index/MessagePartHit.class
 * Java compiler version: 7 (51.0)
 * JD-Core Version:       0.7.1
 */